package bank;

import java.util.Date;

import exception.KontoNichtGedecktException;

public class Girokonto extends Konto {

    private static final long serialVersionUID = 101L;

    public static final String PROPERTYNAME_DISPO = "dispo";

    private double dispo;


	public Girokonto(int kontonummer) {
		super(kontonummer);
		setDispo(0);
	}

	@Override
	public void auszahlen(double aBetrag, Date aDate) throws KontoNichtGedecktException {
		if (aBetrag <= getKontostand() + dispo){
			super.auszahlen(aBetrag, aDate);
		} else {
			throw new KontoNichtGedecktException();
		}
	}

	public double getDispo() {
		return dispo;
	}

	public void setDispo(double aNewValue) {
	    double oldValue = getDispo();
		dispo = aNewValue;
		firePropertyChange(PROPERTYNAME_DISPO, oldValue, getDispo());
	}
}
